Al usar un entorno Debian con CodeDeploy , usted también se habrá encontrado con una dependencia que es difícil de satisfacer: Ruby 2.0.
Dado que esta versión quedó obsoleta el 24 de febrero de 2016, esta versión se puede instalar compilando el código fuente o usando un RVM.
El uso de RVM es una buena opción y la instalación es muy sencilla:
A continuación, se explica cómo instalar dependencias:
sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev automake libtool bison subversion nodejs libncurses-dev
A continuación, se explica cómo instalar RVM y Ruby:
gpg –keyserver hkp://keys.gnupg.net –recv-keys D39DC0E3
curl -sSL https://get.rvm.io | bash -s estable
fuente /etc/profile.d/rvm.sh
Requisitos
de RVMLista de RVM conocida (comprobar si existe la versión 2.0.02)
Instalación de RVM 2.0.0
RVM use 2.0.0 –default
A continuación, se explica cómo instalar la gema «OpenSSL»:
gem install openssl
Una vez hecho esto, podrá instalar el paquete DEB del agente descargado directamente desde un bucket de Amazon (guía).
Llegados a este punto, si todo ha sido correcto, solo habrá que comprobar que el agente se ha iniciado pero, como suele ocurrir, el DEB no encuentra Ruby 2.0 y, como no se cumple esta dependencia, falla la instalación. Incluso si intenta compilar el agente, esta dependencia fundamental no parece respetarse, aunque en realidad lo sea.
Para resolver este problema, el desarrollador
Panayiotis Thomakos
, desarrolló una bifurcación a partir de la fuente del agente y creó una gema.
Para instalarlo, todo lo que necesitas es un simple:
sudo gem install aws-codedeploy-agent
sudo service codedeploy-agent start
Sí, también puedes instalar la última versión de Ruby sin la versión 2.0.
Fácil, ¿no?
Esta solución ha sido reconocida como funcionando por el Soporte de Amazon Web Services en un intercambio dentro de un problema, pero hay que tener en cuenta que la documentación oficial no enumera a Debian como un sistema soportado y que la gema mencionada anteriormente puede no ser actualizada por el desarrollador a diferencia de las actualizaciones continuas que registramos en el agente.